package o;

import com.huawei.hms.framework.network.restclient.hwhttp.dns.DnsConfig;
import java.nio.ByteBuffer;
import java.util.Arrays;

public final class and {
    private static int[] ˋ = new int[10];
    public static final float[] ˎ = new float[]{1.0f, 1.0f, 1.0909091f, 0.90909094f, 1.4545455f, 1.2121212f, 2.1818182f, 1.8181819f, 2.909091f, 2.4242425f, 1.6363636f, 1.3636364f, 1.939394f, 1.6161616f, 1.3333334f, 1.5f, 2.0f};
    public static final byte[] ˏ = new byte[]{(byte) 0, (byte) 0, (byte) 0, (byte) 1};
    private static final Object ॱ = new Object();

    public static final class c {
        public final boolean ˊ;
        public final int ˋ;
        public final int ˎ;

        public c(int i, int i2, boolean z) {
            this.ˋ = i;
            this.ˎ = i2;
            this.ˊ = z;
        }
    }

    public static final class e {
        public final boolean ʻ;
        public final int ʼ;
        public final float ʽ;
        public final int ˊ;
        public final int ˊॱ;
        public final int ˋ;
        public final int ˎ;
        public final int ˏ;
        public final int ˏॱ;
        public final int ॱ;
        public final boolean ॱˊ;
        public final boolean ॱॱ;
        public final int ᐝ;

        public e(int i, int i2, int i3, int i4, int i5, int i6, float f, boolean z, boolean z2, int i7, int i8, int i9, boolean z3) {
            this.ˋ = i;
            this.ˏ = i2;
            this.ॱ = i3;
            this.ˊ = i4;
            this.ˎ = i5;
            this.ʼ = i6;
            this.ʽ = f;
            this.ॱॱ = z;
            this.ʻ = z2;
            this.ᐝ = i7;
            this.ˊॱ = i8;
            this.ˏॱ = i9;
            this.ॱˊ = z3;
        }
    }

    public static int ˋ(byte[] bArr, int i) {
        int i2;
        int i3 = 0;
        synchronized (ॱ) {
            int ˎ;
            int i4 = 0;
            int i5 = 0;
            while (i5 < i) {
                ˎ = ˎ(bArr, i5, i);
                if (ˎ < i) {
                    if (ˋ.length <= i4) {
                        ˋ = Arrays.copyOf(ˋ, ˋ.length * 2);
                    }
                    i5 = i4 + 1;
                    ˋ[i4] = ˎ;
                    i4 = i5;
                    i5 = ˎ + 3;
                } else {
                    i5 = ˎ;
                }
            }
            i2 = i - i4;
            i5 = 0;
            ˎ = 0;
            while (i3 < i4) {
                int i6 = ˋ[i3] - ˎ;
                System.arraycopy(bArr, ˎ, bArr, i5, i6);
                i5 += i6;
                int i7 = i5 + 1;
                bArr[i5] = (byte) 0;
                i5 = i7 + 1;
                bArr[i7] = (byte) 0;
                ˎ += i6 + 3;
                i3++;
            }
            System.arraycopy(bArr, ˎ, bArr, i5, i2 - i5);
        }
        return i2;
    }

    public static void ˊ(ByteBuffer byteBuffer) {
        int position = byteBuffer.position();
        int i = 0;
        int i2 = 0;
        while (i + 1 < position) {
            int i3 = byteBuffer.get(i) & 255;
            if (i2 == 3) {
                if (i3 == 1 && (byteBuffer.get(i + 1) & 31) == 7) {
                    ByteBuffer duplicate = byteBuffer.duplicate();
                    duplicate.position(i - 3);
                    duplicate.limit(position);
                    byteBuffer.position(0);
                    byteBuffer.put(duplicate);
                    return;
                }
            } else if (i3 == 0) {
                i2++;
            }
            if (i3 != 0) {
                i2 = 0;
            }
            i++;
        }
        byteBuffer.clear();
    }

    public static boolean ˋ(String str, byte b) {
        return ("video/avc".equals(str) && (b & 31) == 6) || ("video/hevc".equals(str) && ((b & 126) >> 1) == 39);
    }

    public static int ˊ(byte[] bArr, int i) {
        return bArr[i + 3] & 31;
    }

    public static int ॱ(byte[] bArr, int i) {
        return (bArr[i + 3] & 126) >> 1;
    }

    public static e ˏ(byte[] bArr, int i, int i2) {
        int ॱ;
        int i3;
        boolean z;
        int i4;
        float f;
        anf o_anf = new anf(bArr, i, i2);
        o_anf.ˋ(8);
        int ˏ = o_anf.ˏ(8);
        int ˏ2 = o_anf.ˏ(8);
        int ˏ3 = o_anf.ˏ(8);
        int ॱ2 = o_anf.ॱ();
        boolean z2 = false;
        if (ˏ == 100 || ˏ == 110 || ˏ == 122 || ˏ == 244 || ˏ == 44 || ˏ == 83 || ˏ == 86 || ˏ == 118 || ˏ == DnsConfig.MAX_CACHE_ENTRIES || ˏ == 138) {
            ॱ = o_anf.ॱ();
            if (ॱ == 3) {
                z2 = o_anf.ˎ();
            }
            o_anf.ॱ();
            o_anf.ॱ();
            o_anf.ˊ();
            if (o_anf.ˎ()) {
                i3 = ॱ != 3 ? 8 : 12;
                int i5 = 0;
                while (i5 < i3) {
                    if (o_anf.ˎ()) {
                        ˊ(o_anf, i5 < 6 ? 16 : 64);
                    }
                    i5++;
                }
            }
            z = z2;
            i4 = ॱ;
        } else {
            z = false;
            i4 = 1;
        }
        int ॱ3 = o_anf.ॱ() + 4;
        int ॱ4 = o_anf.ॱ();
        int i6 = 0;
        boolean z3 = false;
        if (ॱ4 == 0) {
            i6 = o_anf.ॱ() + 4;
        } else if (ॱ4 == 1) {
            z3 = o_anf.ˎ();
            o_anf.ˏ();
            o_anf.ˏ();
            long ॱ5 = (long) o_anf.ॱ();
            for (i3 = 0; ((long) i3) < ॱ5; i3++) {
                o_anf.ॱ();
            }
        }
        o_anf.ॱ();
        o_anf.ˊ();
        int ॱ6 = o_anf.ॱ() + 1;
        ॱ = o_anf.ॱ() + 1;
        boolean ˎ = o_anf.ˎ();
        i3 = (2 - (ˎ ? 1 : 0)) * ॱ;
        if (!ˎ) {
            o_anf.ˊ();
        }
        o_anf.ˊ();
        ॱ = ॱ6 * 16;
        ॱ6 = i3 * 16;
        if (o_anf.ˎ()) {
            int ॱ7 = o_anf.ॱ();
            int ॱ8 = o_anf.ॱ();
            int ॱ9 = o_anf.ॱ();
            int ॱ10 = o_anf.ॱ();
            if (i4 == 0) {
                i3 = 1;
                i4 = 2 - (ˎ ? 1 : 0);
            } else {
                i3 = i4 == 3 ? 1 : 2;
                i4 = (2 - (ˎ ? 1 : 0)) * (i4 == 1 ? 2 : 1);
            }
            i3 = ॱ - (i3 * (ॱ7 + ॱ8));
            ॱ6 -= i4 * (ॱ9 + ॱ10);
        } else {
            i3 = ॱ;
        }
        float f2 = 1.0f;
        if (o_anf.ˎ() && o_anf.ˎ()) {
            ॱ = o_anf.ˏ(8);
            if (ॱ == 255) {
                ॱ = o_anf.ˏ(16);
                int ˏ4 = o_anf.ˏ(16);
                if (!(ॱ == 0 || ˏ4 == 0)) {
                    f2 = ((float) ॱ) / ((float) ˏ4);
                }
                f = f2;
            } else if (ॱ < ˎ.length) {
                f = ˎ[ॱ];
            } else {
                amz.ˏ("NalUnitUtil", "Unexpected aspect_ratio_idc value: " + ॱ);
            }
            return new e(ˏ, ˏ2, ˏ3, ॱ2, i3, ॱ6, f, z, ˎ, ॱ3, ॱ4, i6, z3);
        }
        f = 1.0f;
        return new e(ˏ, ˏ2, ˏ3, ॱ2, i3, ॱ6, f, z, ˎ, ॱ3, ॱ4, i6, z3);
    }

    public static c ˋ(byte[] bArr, int i, int i2) {
        anf o_anf = new anf(bArr, i, i2);
        o_anf.ˋ(8);
        int ॱ = o_anf.ॱ();
        int ॱ2 = o_anf.ॱ();
        o_anf.ˊ();
        return new c(ॱ, ॱ2, o_anf.ˎ());
    }

    public static int ॱ(byte[] bArr, int i, int i2, boolean[] zArr) {
        boolean z = true;
        int i3 = i2 - i;
        amm.ˏ(i3 >= 0);
        if (i3 == 0) {
            return i2;
        }
        if (zArr != null) {
            if (zArr[0]) {
                ˏ(zArr);
                return i - 3;
            } else if (i3 > 1 && zArr[1] && bArr[i] == (byte) 1) {
                ˏ(zArr);
                return i - 2;
            } else if (i3 > 2 && zArr[2] && bArr[i] == (byte) 0 && bArr[i + 1] == (byte) 1) {
                ˏ(zArr);
                return i - 1;
            }
        }
        int i4 = i2 - 1;
        int i5 = i + 2;
        while (i5 < i4) {
            if ((bArr[i5] & 254) == 0) {
                if (bArr[i5 - 2] == (byte) 0 && bArr[i5 - 1] == (byte) 0 && bArr[i5] == (byte) 1) {
                    if (zArr != null) {
                        ˏ(zArr);
                    }
                    return i5 - 2;
                }
                i5 -= 2;
            }
            i5 += 3;
        }
        if (zArr == null) {
            return i2;
        }
        boolean z2 = i3 > 2 ? bArr[i2 + -3] == (byte) 0 && bArr[i2 - 2] == (byte) 0 && bArr[i2 - 1] == (byte) 1 : i3 == 2 ? zArr[2] && bArr[i2 - 2] == (byte) 0 && bArr[i2 - 1] == (byte) 1 : zArr[1] && bArr[i2 - 1] == (byte) 1;
        zArr[0] = z2;
        z2 = i3 > 1 ? bArr[i2 + -2] == (byte) 0 && bArr[i2 - 1] == (byte) 0 : zArr[2] && bArr[i2 - 1] == (byte) 0;
        zArr[1] = z2;
        if (bArr[i2 - 1] != (byte) 0) {
            z = false;
        }
        zArr[2] = z;
        return i2;
    }

    public static void ˏ(boolean[] zArr) {
        zArr[0] = false;
        zArr[1] = false;
        zArr[2] = false;
    }

    private static int ˎ(byte[] bArr, int i, int i2) {
        int i3 = i;
        while (i3 < i2 - 2) {
            if (bArr[i3] == (byte) 0 && bArr[i3 + 1] == (byte) 0 && bArr[i3 + 2] == (byte) 3) {
                return i3;
            }
            i3++;
        }
        return i2;
    }

    private static void ˊ(anf o_anf, int i) {
        int i2 = 8;
        int i3 = 8;
        for (int i4 = 0; i4 < i; i4++) {
            if (i2 != 0) {
                i2 = ((o_anf.ˏ() + i3) + 256) % 256;
            }
            if (i2 != 0) {
                i3 = i2;
            }
        }
    }
}
